

package futbol.tacticas.concursantes2007.AlfArgentin;

import futbol.tacticas.*;
import java.awt.*;
import java.awt.geom.*;


/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Licencia GPL</p>
 *
 * <p>Company: </p>
 * @author Alfredo Garcia Woods
 * @version 1.0
 */
public class Medio implements IJugador{


    double posicionFijaX;
    double posicionFijaY;

    final double rangoDemovimiento=80;

    int yoJugador=0;

    double minX;
    double maxX;
    double minY;
    double maxY;

    /**
     * Medio
     *
     * @param num int
     * @param posicionFijaX double
     * @param posicionFijaY double
     */
    public Medio(int num,double posicionFijaX,double posicionFijaY) {
        yoJugador=num;
        this.posicionFijaX=posicionFijaX;
        this.posicionFijaY=posicionFijaY;


        minX=posicionFijaX - rangoDemovimiento;
        maxX=posicionFijaX + rangoDemovimiento;
        minY=posicionFijaY - rangoDemovimiento;
        maxY=posicionFijaY + rangoDemovimiento;
    }


    /**
     * getjugador
     *
     * @return int
     */
    public int getjugador(){
        return yoJugador;
    }


    /**
     * getComandoMovimiento
     *
     * @param sj SituacionJugadores
     * @return Comando
     */
    public Comando getComandoMovimiento(SituacionJugadores sj){

        Point bola=sj.getBola();
        Point jugadores[]=sj.getMisJugadores();
        Point contrarios[]=sj.getContrario();




        //Movimiento  a la bola SI EST DENTRO DEL RANGO
        if((bola.getX()<maxX && bola.getX()>minX) &&
                (bola.getY()<maxY && bola.getY()>minY)){
            return new ComandoIrA(yoJugador,bola.getX(), bola.getY());
        } else{
            return new  ComandoIrA(yoJugador, posicionFijaX, posicionFijaY);
        }


    }

    /**
     * getComandoTiro
     *
     * @param sj SituacionJugadores
     * @return Comando
     */
    public Comando getComandoTiro(SituacionJugadores sj){
     int arquero=0;

        Point jugadores[]=sj.getMisJugadores();
        Point contrarios[]=sj.getContrario();

          Point miPosicion=jugadores[yoJugador];

        Point bola=sj.getBola();

        if(bola.getX()>40){
         return   new ComandoTiroAPuerta(yoJugador,20);

        }else{



            if(miPosicion.getY()<0){
                return new ComandoGolpearBola(yoJugador,165,-20);

            }else{
                return new ComandoGolpearBola(yoJugador,165,20);

            }

        }
    }
}

